Upload script der skal bruge: .$_GET["email"]

Tags:    php script

Hej,

Jeg har et script til at upload filer på min hjemmeside. Jeg har dog lidt svært ved at få tingene til at "tale" sammen, så håber på nogle kan komme med et hit til at få det til at virke :)

Scriptet er på index.php filen som når den loades skaber en folder på serveren. Upload scriptet skal så kunne uploade til den specifikke folder.

Folderen skal genereres/opkaldes efter e-mail adressen fra URLen fx:
index.php?email=myemail@myemail.dk

Dette gør jeg ved denne kode:
Fold kodeboks ind/udPHP kode 

Koden virker og mappen genereres med navnet: myemail@myemail.dk

Nu kommer mit problem . Upload scriptet skal vide at det er denne mappe det skal uploade til. Jeg har prøvet at bruge denne kode til at sende informationen til upload scriptet:
Fold kodeboks ind/udPHP kode 


Ovenstående står på index.php filen, men koden for upload scriptet ligger på en anden fil UploadHandler.php. Men inden koden kommer der til kommer den igennem en anden fil index.php Begge disse to filer ligger i mappen public_html/server/ og index.php med ovenstående koder ligger i /public_html/

Index.php filen i public_html/server/ som min ovenstående kode gerne skulle gå igennem ser således ud:
Fold kodeboks ind/udPHP kode 



Og filen UploadHandler.php som fortæller scriptet hvor filer skal uploades ser så ledes ud:
Fold kodeboks ind/udPHP kode 



Men delen med
Fold kodeboks ind/udPHP kode 
virker ikke. Hvad gør jeg forkert?

Jeg har også prøvet med koden:
Fold kodeboks ind/udPHP kode 


Nogle kloge hoveder der kan se hvad jeg gør forkert eller kan hjælpe? :)




Indlæg senest redigeret d. 29.10.2016 16:13 af Bruger #17612
9 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
nogle link til hvor du har de forskelige code stumper fra havde været nyttige

går ud fra

UploadHandler.php
https://github.com/blueimp/jQuery-File-Upload/blob/master/server/php/UploadHandler.php

Basic plugin
https://github.com/blueimp/jQuery-File-Upload/wiki/Basic-plugin


er det ikke bare at tage dit upload dir med som parameter i options ??

tilføjet
array ('upload_url' =>$dir)
og
$dir = " public_html/server/".$_GET["email"]; // måske ligger dette i en session
for forståelsen af hvor dir kommer fra

(utested)
Fold kodeboks ind/udKode 





Tak for dit svar :)

Jeg har prøvet at rode lidt med det men er ikke helt i mål endnu. Måske lidt mere hjælp vil hjælpe :)

Mine filer er placeret således:
/public_html/upload/index.php (upload side som man ser når man besøger siden)
/public_html/upload/content/index.php
/public_html/upload/content/UploadHandler.php


Min index.php fil her: /public_html/upload/index.php ser således ud:
Fold kodeboks ind/udPHP kode 



Min index.php fil her: /public_html/upload/content/index.php ser således ud:
Fold kodeboks ind/udPHP kode 






Min index.php fil her: /public_html/upload/content/ UploadHandler.php ser således ud:
Fold kodeboks ind/udPHP kode 



Nu laver scriptet mappen myemail@myemail.dk her:
/public_html/upload/content
dvs: /public_html/upload/content/myemail@myemail.dk
som den skal.

Men upload scriptet efterlader filen den har uploadet her:
/public_html/upload
og ikke i mappen:
/public_html/upload/content/myemail@myemail.dk
som den skulle!

Der går et eller andet galt med stierne eller også bliver "informationerne" ikke sendt rigtig rundt i scriptet. Hvor er det at det gør galt?





Min index.php fil her: /public_html/upload/content/index.php ser således ud:

$dir = " content/".$_GET["email"]; // måske ligger dette i en session
er $_GET tilgængelig her ?? (prøv at udskrive din $dir)
skulle det ikke være,
$dir = $_SESSION['tmem'];


Min index.php fil her: /public_html/upload/content/ UploadHandler.php ser således ud:

denne class skal du ikke pille i overhoved, ændringerne skal over som parameter, typisk i parameteren options (array)





hmmmm, jeg ved ikke meget om koder, hvordan gør jeg det:
er $_GET tilgængelig her ?? (prøv at udskrive din $dir)

Kan du fortælle hvordan jeg gør det?




Kan du fortælle hvordan jeg gør det?

læg mærke til linjen
echo $dir; // test

Fold kodeboks ind/udKode 



jeg tror der skal stå
Fold kodeboks ind/udKode 





Der er ikke rigtig nogle ændringer. Hvis jeg bruger:
Fold kodeboks ind/udPHP kode 

så er linket til filen:
upload/content/test.JPG

Bruger jeg:
Fold kodeboks ind/udPHP kode 

så er linket til filen:
upload/test.JPG


Scriptet uploader filen til:
/public_html/upload/ test.JPG
uanset hvilken af ovenstående koder jeg bruger.

Der sker heller ikke rigtig noget ved denne kode:
echo $dir; // test


-------------------------------------------------------------------

Efter lidt testning har jeg fundet ud af at stierne er på plads, men det er delen med at få sent beskeden på den mappe den skal uploade til der går galt.

DVS:
public_html/upload/index.php
med koden:
Fold kodeboks ind/udPHP kode 


Så er der filerne:
/public_html/upload/content/index.php
og
/public_html/upload/content/ UploadHandler.php



I filen:
public_html/upload/content/index.php
er det lige meget hvilken kode jeg bruger den får måske ikke sendt mappe navnet videre:
Første mulighed:
Fold kodeboks ind/udPHP kode 


Anden mulighed:
Fold kodeboks ind/udPHP kode 


I filen: /public_html/upload/content/ UploadHandler.php
har jeg rettet stierne til:
Fold kodeboks ind/udPHP kode 


Har også prøvet disse:
Fold kodeboks ind/udPHP kode 


Men ingen af dem får scriptet til at upload til den ønskede mappe. Ændre jeg koderne til:
Fold kodeboks ind/udPHP kode 


laver scriptet en mappe med navnet " TESTMAPPE" og uploader filerner der til.

Dvs. jeg tror at beskeden med mappenavnet ikke bliver leveret til: .$_SESSION['tmem']. og dermed er den "tom" håber det giver mening :)





Indlæg senest redigeret d. 29.10.2016 22:49 af Bruger #17612
stierne i upload_url og upload_dir skal passe sammen, dog skal den ene være en http(s) og den anden være en absolut referance

jeg tror det er nemmere at ligge email addressen ud i en seperat variabel
og kalde UploadHandler med de parameter


en lille test, du kan prøve
Fold kodeboks ind/udKode 


UploadHandler.php har jeg ikke rørt ved! det er den taget direkte fra
https://raw.githubusercontent.com/blueimp/jQuery-File-Upload/master/server/php/UploadHandler.php


den skulle gerne skrive:

The content{"files":[{"name":"test.txt","size":11,"url":"http:\/\/localhost\/test\/udv\/rjo@olsensweb.dk\/test.txt","deleteUrl":"http:\/\/localhost\/test\/udv\/index.php?file=test.txt","deleteType":"DELETE"}]}UploadHandler Object
(
[options:protected] => Array
(
[upload_dir] => C:/util/xampp/htdocs/test/udv/rjo@olsensweb.dk/
[upload_url] => http://localhost/test/udv/rjo@olsensweb.dk/
[script_url] => http://localhost/test/udv/index.php
[input_stream] => php://input
...........



Hej Ronny,

Tak for svar. Jeg har ikke lige haft tid til at svare eller kigge p? det f?r nu. N?r jeg ?ndre koden p?:
/public_html/upload/content/index.php
til:
Fold kodeboks ind/udPHP kode 


F?r jeg en side hvor hele scriptet er v?k. Dvs. upload funktionen er v?k og der er printet teksten "The Content" som koden:
Fold kodeboks ind/udPHP kode 

referer til. "overskriver" den selve scriptet? Hvis ja, kan det ?ndres s? der kun skrives til filen ellers skal denne funktion helt fjernes da den ikke er s? vigtig - bare en god mulighed at have!

Var der noget jeg skulle ?ndre i koden du skrev ovenfor eller var det bare at klippe den ind?

Sorry er ikke en haj til koder :/

Ogs? i filen index.php her:
/public_html/upload/content/index.php
g?r jeg ud fra koden er denne:
Fold kodeboks ind/udPHP kode 


H?ber du vil hj?lpe mig p? vej med det sidste, s? jeg kan f? det op at k?re. TAK

----------------------------------

Lidt opdatering. Jeg har ændret lidt i stierne på denne fil
/public_html/upload/index.php

Fold kodeboks ind/udPHP kode 


Jeg har ændret stien til min upload mappe fra:
Fold kodeboks ind/udPHP kode 

til
Fold kodeboks ind/udPHP kode 


Men skal der ikke også ændres i denne del:
Fold kodeboks ind/udPHP kode 

Jeg tænker på 'DOCUMENT_ROOT'og 'SERVER_NAME'???

Er der andre steder stierne skal ændres til upload mappen "content/"?

Også filen content/UploadHandler.php ser således ud:
Fold kodeboks ind/udPHP kode 

Er det korrekt nu?




Indlæg senest redigeret d. 01.11.2016 22:33 af Bruger #17612
Validér for Guds skyld e-mailadressen, inden du benytter det til at lave en vilkårlig sti i dit filsystem!

http://php.net/manual/en/filter.examples.validation.php



t